package com.linkgie.galaxyframework.metric;

/**
 * 指标提供者接口；
 */
public interface MetricsProvider {

    /**
     * 领域；
     * <p>
     * 用于标识指标的业务分类；
     * 
     * @return
     */
    MetricDomain getDomain();

    /**
     * 注册指标；
     * <p>
     * 注：
     * 仅在方法调用期间，可以通过参数传递的注册表对象可以注册指标；
     * 在方法调用结束之后，再通过该对象注册指标将不会生效；
     * 
     * @param registry 注册表；
     */
    void registryMetrics(MetricsRegistry registry);

}
